rs23
(usa Ubuntu)
Enviado em 22/12/2010 - 20:25h
Sam L.
Tentei incrementar o código para entrar com os valores na matriz e o programa
apresentou erro de execução
segue o que eu implementei
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int linhas, colunas, i,j;
int **matriz;
do {
printf("\nDigite o numero de linhas: ");
scanf("%d",&linhas);
} while (linhas < 1);
do {
printf("\nDigite o numero de colunas: ");
scanf("%d",&colunas);
} while (colunas < 1);
// Aloca as linhas, onde cada uma é um "vetor"
matriz = (int **) malloc((linhas) * (sizeof(int *)));
// Aloca cada "coluna", ou melhor, aloca cada vetor com o tamanho de colunas
for(i = 0; i < linhas; i++)
matriz[i] = (int *) malloc(colunas * (sizeof(int)));
/*
Depois de alocada pode usar a matriz normalmente
*/
/*
Incrementei a parte abaixo
*/
//processar matriz
for (i=0; i<linhas; i++)
{
for (j=0; colunas<3; j++)
{
printf("Digite um valor: ");
scanf("%d%d", &matriz[linhas][colunas]);
}
}
//mostrar a matriz
for (i=0; i<linhas; i++)
{
for (j=0; j<colunas; j++)
{
printf("%d", matriz[linhas][colunas]);
}
printf("\n");
}
// Quando não precisar mais da matriz, então libere a memória alocada
for(i = 0; i < linhas; i++)
free(matriz[i]); // libera cada linha
free(matriz); // libera a "matriz" alocada, aqui é liberado os vetores(linhas) da matriz
system("pause");
return 0;
}